package org.plex.attachement;

import java.util.Date;

import com.adobe.idp.taskmanager.dsc.client.task.UnknownValueException;

public interface AttachmentInfo {
	static final int PERMISSION_READ = 1;
	static final int PERMISSION_WRITE = 2;
	static final int PERMISSION_DELETE = 4;
	static final String ATTACH_FILENAME = "wsfilename";
	static final String ATTACH_PERM = "wspermission";
	static final String ATTACH_DESC = "wsdescription";
	static final String ATTACH_CREATOR_ID = "wscreatorid";
	static final String ATTACH_CREATE_DATE = "wscreatedate";
	static final String ATTACH_UPDATE_DATE = "wsupdatedate";
	static final String ATTACH_TYPE = "wsattachtype";
	static final String TYPE_ATTACHMENT = "attachment";
	static final String TYPE_NOTE = "note";

	long getId() throws UnknownValueException;

	void setId(long id);

	String getFileName() throws UnknownValueException;

	void setFileName(String fileName);

	boolean isReadable() throws UnknownValueException;

	boolean isWriteable() throws UnknownValueException;

	boolean isDeleteable() throws UnknownValueException;

	int getPermissions() throws UnknownValueException;

	void setPermissions(int permissions);

	long getSize() throws UnknownValueException;

	Date getLastModifiedDate() throws UnknownValueException;

	String getDescription() throws UnknownValueException;

	void setDescription(String desciption) throws UnknownValueException;

	String getCreatorId() throws UnknownValueException;

	String getCreatorCommonName() throws UnknownValueException;

	Date getCreateDate();

	String getType();

	void setType(String tyep) throws UnknownValueException;

	boolean isNoteExtended();
}
